// Copyright 2017 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef __MLINK_SCENES_H__
#define __MLINK_SCENES_H__

#include "mdf_common.h"
#include "mlink_json.h"
#include "mlink_utils.h"
#include "mlink_notice.h"
#include "mlink_httpd.h"
#include "mlink_handle.h"

#ifdef __cplusplus
extern "C" {
#endif /**< _cplusplus */


/**
 * @brief Initialize event handler
 *
 * @return
 *    - MDF_OK
 *    - MDF_FAIL
 */
mdf_err_t mlink_scenes_init();

/**
 * @brief Whether the handler exists
 *
 * @return [description]
 */
bool mlink_scenes_is_exist();

/**
 * @brief Add event handler
 *
 * @param  scenes_raw_data [description]
 *
 * @return
 *    - MDF_OK
 *    - MDF_FAIL
 */
mdf_err_t mlink_scenes_add(const char *scenes_raw_data);

/**
 * @brief Get current scenes number
 *
 * @param  None
 *
 * @return
 *    - int Scenes number
 */
int mlink_scenes_get_num();

char *mlink_scenes_get_name(void *scenes);
char *mlink_scenes_get_alias(void *scenes);

#ifdef __cplusplus
}
#endif /**< _cplusplus */

#endif /**< __MLINK_SCENES_H__ */
